home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 2
/
Atari Mega Archive CD - Volume 2.iso
/
8bit
/
telecomm
/
xm301.doc
< prev
next >
Wrap
Text File
|
1995-04-22
|
11KB
|
501 lines
Here is the DOCs and UUE T: handler for the Xm301. I couldn't get
it to work with Kermit65. If someone does, please let me know!
ATARI[R] XM301 MODEM[TM]
TECHNICAL SOFTWARE SPECIFICATIONS
This manual contains the reference
specifications for the software
interfaces used by applications
programs and the Operating System to
control the XM301 Modem.
Contents
Section 1: Description of the XM301
Modem
Interface With Other Products
Family of Products
Reference Documents
Section 2: Logical Requirements for
the XM301 Modem
Man/Machine Interface
The Six Standard Input/Output
Command Interfaces
OPEN
CLOSE
INPUT
OUTPUT
STATUS
Parameters Passed as Data Strings
Error Handling
Buffer Use
Handler/Operating System Interface
SECTION 1
DESCRIPTION OF THE XM301 MODEM
The XM301 Modem is a stand-alone
peripheral which connects to the
ATARI 400[TM]/800[TM], and the
XL[TM]/XE[TM] series with the SIO
interface by means of the serial bus.
The modem connects to the telephone
line by means of the RJ-11C jack.
The modem control software resides in
the internal ROM of the 8048 single
chip microprocessor. A separate
software handler will be disk-based.
Interface With Other Products
The XM301 Modem is an input-output
peripheral, and performs no actions
without instructions from an
applications program.
To use the XM301 Modem from a
high-level language, the following
types of commands are required:
OPEN
CLOSE
GET (or equivalent READ, INPUT)
PUT (or equivalent PRINT, WRITE)
POKE
PEEK
Family Of Products
The XM301 Modem performs
telecommunications functions in
conjunction with applications
designed specifically for use with
the XM301. It is interface
compatible with the Telelink II[TM]
application. The modem is capable of
accepting any commands issued by the
Telelink II handler without
performing in an irregular fashion or
returning the "illegal command" error
code.
Reference Documents
ATARI Home Computer System Technical
Reference Notes:
Operating System User's Manual
Operating System Source Listing and
Hardware Manual
The Technical Reference Notes are
available from ATARI Customer
Relations, P.O. Box 61657, Sunnyvale,
CA 94088. Cost: $29.95 plus $2.50
for shipping. California residents
should add appropriate sales tax.
Write "Order for Technical Reference
Notes" on the outside of the envelope
to speed up the order process.
SECTION 2
LOGICAL REQUIREMENTS FOR THE XM301
MODEM
The handler is provided by an
AUTORUN.SYS disk file.
The modem controller, an 8048H
microprocessor, is accessed by the
handler through the serial I/O
channel.
The handler uses RAM for input and
output buffers, variables for
communicating with the user, and
internal variables. Internal
variables are in low memory, with one
variable (CMCMD) permanently
allocated in the Operating System
database for use by this handler.
User communication variables are the
system IOCBs, the zero page IOCB, and
the command flag CMCMD. IOCB use is
described in the ATARI Home Computer
System Technical Reference Notes, and
in Section 2, Handler/Operating
System Interface. CMCMD use is
described in Section 2, Parameters
Passed As Data Strings.
The XM301 handler allocates an input
and output buffer where data can be
entered between the application and
the handler. The output is 64 bytes
long; the input buffer is 256 bytes
long. There are 2 bytes used for
buffer control variables by the
handler. Applications use of buffer
control bytes is described in Section
2, Buffer Use. The remainder of the
buffer area is reserved for the
buffers. The use of the buffer area
is decided upon by the handler. The
application program has no defined
way of directly accessing data in
this area.
Man/Machine Interface
It is the responsibility of the mass
storage media device to contain and
load the XM301 handler along with the
required applications.
The Six Standard Input/Output Command
Interfaces
The applications program accesses the
modem handler by calling on CIO,
which in turn, calls the handler.
There are six I/O calls.
(1) OPEN
An OPEN command must be performed
before any other modem operations are
allowed. Any of the IOCBs may be
used. Aux1 specifies the I/O
direction: bit 2 for input; bit 3
for output; both for bidirectional.
The directionality applies only to
communications data; initialization
parameters are passed in either
direction after any OPEN command.
Aux2 is ignored by the handler.
The device name is "T". The rest of
the filename is ignored.
The command flag (CMCMD) is set to
zero by the handler during OPEN.
(2) CLOSE
The CLOSE command terminates the I/O
procedure and releases the IOCB. Any
data waiting in the output buffer is
sent first. The buffer area is then
relinquished and any input data
remaining in the buffer is lost.
When the buffer area is empty, the
phone is placed on hook.
[System.Reset] produces similar
results to the CLOSE command except
that the output buffer is not sent.
Refer to Section 2, Handler/Operating
System Interface, for details.
The modem operation may be suspended
without closing the IOCB, allowing
the serial bus to continue
communicating with other devices.
This operation is described under the
appropriate commands in Section 2,
Parameters Passed As Data Strings.
(3) INPUT
Any INPUT or GET operation through
CIO will result in the modem handler
being asked to provide data for the
user.
If no data is available, the handler
waits for a character. There is no
time-out when waiting for received
data. This waiting is terminated
when either the [Break] or
[System.Reset] key is pressed. The
waiting is also terminated if the
carrier is lost. Error 136 is
returned when the carrier is lost.
If data has been received, the
Handler stores the characters in the
input buffer as the data is received
(up to the buffer's capacity). The
CIO request for data is then
satisfied from this FIFO buffer.
(See Section 2, Buffer Use.)
The modem is double-buffered, so the
handler has one character time to
input each character received.
Communications data is processed for
parity and for translation from ASCII
to ATASCII. These operations are
described under the appropriate
commands in Section 2, Parameters
Passed As Data Strings.
(4) OUTPUT
Any PRINT or PUT operation to CIO
will result in one or more bytes for
the handler to hand to the modem.
This data is interpreted either as
set-up commands and parameters, or as
communications data, as controlled by
the command flag byte CMCMD. (See
Section 2, Parameters Passed As Data
Strings.)
Communications data is processed for
translation from ATASCII to ASCII,
and then from parity. These
operations are described under the
appropriate commands in Section 2,
Parameters Passed As Data Strings.
Output bytes are received by the
handler and placed into the output
buffer as fast as the bytes come from
CIO. If the FIFO buffer fills, the
handler loops other character from
CIO until space becomes available in
the buffer. There is no time-out
when the handler is waiting for
buffer space. The looping is broken
when either the [Break] or
[System.Reset] key is pressed. A
loss of carrier also breaks the loop,
and returns Error 136.
Any time the buffer contains data,
the modem continues to send until the
buffer is emptied.
(5) STATUS (Combines with PEEK)
The STATUS command causes the handler
to place four bytes of status
information in the Operating System
status area DVSTAT through DVSTAT+3
(02EA - 02ED). These four bytes
contain error and status information
from both the modem and from the
handler. The application program can
then PEEK at these four bytes.
The four bytes contain the following
bit-encoded data:
DVSTAT+0: Communications Error Flags
The internal flags corresponding to
the status bits in this byte are
reset upon STATUS request.
Bit 7: Framing error encountered on
received data.
Bit 6: Byte-level overrun
encountered. The modem lost one or
more characters due to slow interrupt
handling. This is caused either by
slo